Queue 类继承结构图

Queue类图


Queue 扩充 Collection 新方法

// 扩充方法,如果失败,会返回特殊值
boolean offer​(E e)  // 插入 tail,返回 false 如果失败
E   poll()          // 弹出 head,null 如果队列为空
E   peek()          // 返回 head,null 如果队列为空

// 一样效果的方法,只是失败会 throw exception
boolean add​(E e)    // 对应 offer
E   remove()        // 对应 poll   
E   element()       // 对应 peek
1
2
3
4
5
6
7
8
9

Deque 扩充 Queue 新方法

// 针对 head 队首
boolean offerFirst​(E e)   // addFirst(e)
E   pollFirst()           // removeFirst()
E   peekFirst()           // getFirst()

// 针对 tail 队尾
boolean offerLast​(E e)    // addLast(e)
E   pollLast()            // removeLast()
E   peekLast()            // getLast()

// 作为 Stack
void    push​(E e)         // addFirst(e)
E   pop()                 // removeFirst()
E   peek()                // getFirst()
1
2
3
4
5
6
7
8
9
10
11
12
13
14

BlockingQueue

Throws exception Special value Blocks Times out
Insert add(e) offer(e) put(e) offer(e, time, unit)
Remove remove() poll() take() poll(time, unit)
Examine element() peek() not applicable not applicable

BlockingDeque

Throws exception Special value Blocks Times out
Insert addFirst(e) offerFirst(e) putFirst(e) offerFirst(e, time, unit)
Remove removeFirst() pollFirst() takeFirst() pollFirst(time, unit)
Examine getFirst() peekFirst() not applicable not applicable
Throws exception Special value Blocks Times out
Insert addLast(e) offerLast(e) putLast(e) offerLast(e, time, unit)
Remove removeLast() pollLast() takeLast() pollLast(time, unit)
Examine getLast() peekLast() not applicable not applicable
Last Updated: 7/14/2020, 9:53:58 PM